/*
 * leitura.c
 *
 *  Created on: 10/04/2011
 *      Author: joao
 */

#include "leitura.h"

#include <stdio.h>

void Leitura (TipoDaPosicao *c){
	int num;
	TipoDaPosicao caux;

	FILE *entrada;
	char nome[30];

	printf("Digite o nome do arquivo de entrada:");
	scanf("%s",nome);
	entrada = fopen(nome,"r");

	if(entrada == NULL){
		fprintf(stderr, "Erro na abertura do arquivo");
		exit (1);
	}

	*c = NULL;
	fscanf (entrada,"%d",&num);

	/* Insere um novo elemento na lista , sempre no comeco. */
	while (num != 0){
		/* Apos o malloc deveria verificar se houve erro , olhando o
		retorno. Na proxima aula veremos uma outra possibilidade.*/
		caux = (No*) malloc (sizeof(No));
		caux->info = num;
		caux->prox = *c;
		*c=caux;
		fscanf(entrada, "%d",&num);
	}

	fclose(entrada);
}

void Imprime (TipoDaPosicao c){
	if(c == NULL)
		printf("Lista vazia \n");
	else {
		while (c != NULL){
			printf ("%d -> ", c->info);
			c = c->prox;
		}
		printf("fim \n");
	}
}
